~ chicken-core (chicken-5) /manual/Bugs and limitations


 1[[tags: manual]]
 2
 3== Bugs and limitations
 4
 5* Compiling large files takes too much time.
 6
 7* If a known procedure has unused arguments, but is always called without those parameters, then the optimizer ''repairs'' the procedure in certain situations and removes the parameter from the lambda-list.
 8
 9* {{port-position}} currently works only for input ports.
10
11* Leaf routine optimization can theoretically result in code that thrashes, if tight loops perform excessively many mutations. In practice this doesn't happen.
12
13* Due to the header representation of block objects, the maximum size
14of a bytevector-like object (strings, blobs, srfi-4 vectors etc) is
152^24 bytes or 16MiB.  On 64-bit machines the limit is less relevant,
16at 2^56 bytes, or 65536 TiB (64 PiB).
17
18* Like above, the maximum size of vector-like objects is 2^24 slots on
1932 bit machines and 2^56 slots on 64-bit machines.
20
21* Bignums are represented by bytevector objects instead of vector-like
22objects due to the need to treat digits as opaque data.  This limits
23bignums to a maximum value of 2^(2^27) on 32-bit machines and 2^(2^59)
24on 64-bit machines.
25
26---
27Previous: [[Cross development]]
28
29Next: [[Acknowledgements]]
Trap